#!/bin/bash

#-----grep学习-------
#grep [-cinvABC] 'word' filename
#-c  打印符合要求的行数
#-n  在输出符合要求的行的同时连同行号一起输出
#-v  打印不符合要求的行
#-r  把目录下面的所有文件全部遍历
#-A  后跟一个数字（有无空格都可以），-A2表示打印符合要求的行以及下面两行
#-B  后跟一个数字，-B2表示打印符合要求的行以及上面两行
#-C  后跟一个数字，-C2表示答应符合要求的行以及上下各两行

echo "文件test.txt内容"
cat test.txt

echo "--------- 不加参数直接打印 grep 'test' test.txt-------"
grep 'test' test.txt

echo "--------- -c实例 grep -c 'test' test.txt---------"
grep -c 'test' test.txt

echo "--------- -n实例 grep -n 'test' test.txt---------"
grep -n 'test' test.txt

echo "--------- -v实例 grep -Evn '[0-9]+' test.txt------"
grep -Evn '[0-9]+' test.txt

echo "--------- -A实例 grep -EnA2 '[a-z]+[0-9]{4}' test.txt----"
grep -EnA2   '[a-z]+[0-9]{4}' test.txt

echo "-------- -B实例 grep -B2 -n  '2234' test.txt-----"
grep -B2 -n '2234' test.txt

echo "-------- -C实例 grep -C2n '2234' test.txt------"
grep -C2 -n '2234' test.txt    

echo "------- -r实例 grep -r '1111' ./"
grep -r '1111' ./


-----------------打印结果----------------
文件test.txt内容
test123
roottest2234
teeeest
111111
222222
estttt
--------- 不加参数直接打印 grep 'test' test.txt-------
test123
roottest2234
--------- -c实例 grep -c 'test' test.txt---------
2
--------- -n实例 grep -n 'test' test.txt---------
1:test123
2:roottest2234
--------- -v实例 grep -Evn '[0-9]+' test.txt------
3:teeeest
6:estttt
--------- -A实例 grep -EnA2 '[a-z]+[0-9]{4}' test.txt----
2:roottest2234
3-teeeest
4-111111
-------- -B实例 grep -B2 -n  '2234' test.txt-----
1-test123
2:roottest2234
-------- -C实例 grep -C2n '2234' test.txt------
1-test123
2:roottest2234
3-teeeest
4-111111
------- -r实例 grep -r '1111' ./
./test1.txt:111111
./grep_test.sh:echo "------- -r实例 grep -r '1111' ./"
./grep_test.sh:grep -r '1111' ./
./test.txt:111111